/**
 * Notes: 用户优惠券实体 - 宠物门店预约小程序
 * Date: 2025-01-27 
 */

const BaseModel = require('./base_model.js');
class UserCouponModel extends BaseModel {}

// 集合名
UserCouponModel.CL = "ax_user_coupons";

UserCouponModel.DB_STRUCTURE = {
	_pid: 'string|true',
	_id: 'string|true|comment=用户优惠券唯一ID',
	userId: 'string|true|comment=用户ID',
	couponTemplateId: 'string|true|comment=优惠券模板ID',
	
	// 冗余字段，便于查询
	couponName: 'string|true|comment=优惠券名称',
	couponType: 'int|true|comment=优惠券类型',
	discountAmount: 'int|false|comment=减免金额(分)',
	discountRate: 'number|false|comment=折扣率(0-1)',
	minAmount: 'int|false|comment=最低消费金额(分)',
	storeId: 'string|false|comment=适用门店ID',
	
	status: 'int|true|default=1|comment=状态 1:未使用, 2:已使用, 3:已过期',
	usedTime: 'int|false|comment=使用时间',
	usedAppointmentId: 'string|false|comment=使用的预约单ID',
	
	expireTime: 'int|true|comment=过期时间',
	
	createTime: 'int|true|comment=创建时间',
	updateTime: 'int|true|comment=更新时间',
}

// 字段前缀
UserCouponModel.FIELD_PREFIX = "";

/**
 * 用户优惠券状态
 */
UserCouponModel.STATUS = {
	UNUSED: 1,      // 未使用
	USED: 2,        // 已使用
	EXPIRED: 3      // 已过期
};

UserCouponModel.STATUS_DESC = {
	UNUSED: '未使用',
	USED: '已使用',
	EXPIRED: '已过期'
};

module.exports = UserCouponModel;